package org.mendoza.salud.hvt.client.local.gui.persona;

import com.google.gwt.user.client.ui.Composite;
import org.jboss.errai.common.client.api.Caller;
import org.jboss.errai.common.client.api.RemoteCallback;
import org.jboss.errai.ui.client.widget.ListWidget;
import org.jboss.errai.ui.client.widget.Table;
import org.jboss.errai.ui.shared.api.annotations.DataField;
import org.jboss.errai.ui.shared.api.annotations.Templated;
import org.mendoza.salud.hvt.client.shared.model.global.TipoDeDocumento;
import org.mendoza.salud.hvt.client.shared.services.PersonaServiceRemote;

import javax.enterprise.event.Observes;
import javax.inject.Inject;
import java.util.List;

@Templated("#tablaListadoDeTiposDeDocumento")
public class TipoDeDocumentoList extends Composite {
    @Inject @DataField("tipoDeDocumentoList") @Table(root = "tbody")
    private ListWidget<TipoDeDocumento, TipoDeDocumentoItem> tipoDeDocumentoItemListWidget;

    @Inject
    Caller<PersonaServiceRemote> personaServiceRemoteCaller;

    public void observernew(@Observes TipoDeDocumento tipoDeDocumento) {
        tipoDeDocumentoItemListWidget.getValue().add(tipoDeDocumento);
    }

    public void actualizar() {
        personaServiceRemoteCaller.call(new RemoteCallback<List<TipoDeDocumento>>() {
            @Override
            public void callback(List<TipoDeDocumento> response) {
                tipoDeDocumentoItemListWidget.getValue().addAll(response);
            }
        }).getAllTipoDeDocumento();
    }

}
